Linux 文件操作
观察文件类型
如果你想要知道某个文件的基本数据,例如是属于 ASCII 或者是 data 文件,或者是 binary , 且其中有没有使用到动态函数库 (share library) 等等的信息,就可以利用 file 这个指令来检查,举例来说:
$ file ~/.bashrc
/home/alsritter/.bashrc: ASCII text
$ file /usr/bin/passwd
/usr/bin/passwd: setuid ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=6af93256cb810d90b2f96fc052b05b43b954f5b2, for GNU/Linux 3.2.0, stripped
通过这个指令,我们可以简单的先判断这个文件的格式为何
解压、压缩
文件解压
# 常见的压缩文件后缀
.tar.gz
.tgz
tar zxvf FileName.tar.gz
压缩文件 非打包
touch a.c
tar -czvf test.tar.gz a.c # 压缩 a.c文件为test.tar.gz
a.c
通配符
*
通配符,表示任意字符
例如 ls *.txt
、以 1 开头的文件 ls 1*
?
通配符表示一个字符 例如 ls ??????????
可以找到 test1.java
[]
通配符的使用 ls [1234]
代表这里面的任意一个字符
也可以使用 [1-4]
这种形式 表示1、2、3、4里任意一个字符,同理 [a-z]
创建文件
touch test.txt
删除文件
移除文件 rm 文件
常用参数
-f
即使原档案属性设为只读也直接删除,无需逐一确认。
-r
表示递归删除
rm -rf /home/project
千万小心 rm -rf /
不然整个根目录下的全部文件都没了
移动、复制文件
move文件(也可以移动文件夹)
# 不用加 -r
mv 123.txt ./test # 例如 mv 文件 移动地址
mv 123.txt ./test/124.text # 移动到另一个地方并改名
copy 文件
cp 123.txt ./test/124.text # 复制到另一个地方并改名
# 如果复制文件夹则需要加上 -r
# cp -r 目标目录 目标地址
文件改名
# 使用 mv 命令
# 将/a目录移动到/b下,并重命名为c
mv /a /b/c
# 将目录A重命名为B
mv A B